<?php
namespace app\index\controller;

use app\common\lib\Redis;
use app\common\lib\Sms;
use app\common\lib\Util;
use think\Env;
use think\facade\Config;
class Index
{
    public function index()
    {
        echo '';
    }
    public function welcome()
    {
        echo \think\facade\Env::get('root_path') . 'extend/api_sdk/vendor/autoload.php';
    }

    public function hello($name = 'ThinkPHP5')
    {
        return 'hello,' . $name;
    }
    public function test()
    {
        set_time_limit(0);
        $phone = "18663491241";
        $code = rand(0000,9999);
        $response = Sms::sendSms($phone,$code);
        echo "发送短信(sendSms)接口返回的结果:\n";
        print_r($response);
    }
    public function send_sms()
    {
        $phone = input('get.phone_num',0,'intval');
        if(empty($phone)){
//            echo 'error';
            return Util::show(config('code.error'),'手机号码不能为空');
        }
        $code = rand(0000,9999);
        //在此处使用swoole task异步执行的方式
        //此处优化，每次要执行的task任务 发送指定的方法 使其到指定的方法中执行 避免出现混乱的状态
        $data = [
            'method' => 'send_sms',
            'data' => [
                'phone' => $phone,
                'code' => $code
                ]
        ];
        $_POST['http_server']->task($data);


//        if($response->Message == 'OK'){
//            //redis 协程
//            $redis = new \Swoole\Coroutine\Redis();
//            $redis->connect(config('redis.host'),config('redis.port'));
//            $redis->set(Redis::smsKey($phone),$code,config('redis.time'));
//            echo 'ok';
            return Util::show(1,'发送成功');
//        }else{
//            return show(config('code.error'),'发送失败');
//        }
    }
}
